
const 获取指定目录下所有图片的路径 = (dir) => {
  const fs = require("fs");
const path = require("path");

  return new Promise((resolve, reject) => {
    fs.readdir(dir, (err, files) => {
      if (err) {
        reject(`读取目录出错: ${err}`);
        return;
      }

      let imagePaths = [];
      let completedCount = 0; // 用于跟踪已完成的文件统计

      const checkCompletion = () => {
        // 当所有文件和子目录的检查完成时，resolve结果
        if (completedCount === files.length) {
          resolve(imagePaths);
        }
      };

      files.forEach((file) => {
        const filePath = path.join(dir, file);
        fs.stat(filePath, (error, stats) => {
          if (error) {
            reject(`获取文件状态出错: ${error}`);
            return;
          }
          if (
            path.extname(filePath) === ".png" ||
            path.extname(filePath) === ".jpg"
          ) {
            imagePaths.push(filePath);
            completedCount++;
            checkCompletion();
          } else {
            completedCount++; // 非目标文件类型，直接计数
            checkCompletion();
          }
        });
      });

      // 初始情况，如果没有文件，直接resolve空数组
      if (files.length === 0) {
        resolve([]);
      }
    });
  });
};

module.exports = 获取指定目录下所有图片的路径;
